MIME-Version: 1.0
Server: CERN/3.0
Date: Sunday, 24-Nov-96 21:33:28 GMT
Content-Type: text/html
Content-Length: 30689
Last-Modified: Thursday, 14-Mar-96 22:07:10 GMT

<HTML>
<TITLE>Teitelbaum CV</TITLE>

<H1>Tim Teitelbaum</H1>

Associate Professor<br>		
Department of Computer Science<br>
Cornell University<br>
Ithaca, New York 14853<br>
USA				

<p>
Date of Birth: April 12, 1943<br>
Social Security: 071-34-7678<br>
Citizenship: United States<br>
Telephone: (607) 255-7573<br>
Fax: (607) 255-4428<br>
Email: tt@cs.cornell.edu<br>

<h2>CONTENTS</h2>
<ul>
<li> <a href="#education">Education</a>
<li> <a href="#positions">Positions</a>
<li> <a href="#awards">Awards</a>
<li> <a href="#grants">Grants</a>
<li> <a href="#phdstudents">Ph.D. Students</a>
<li> <a href="#publications">Publications</a>
<li> <a href="#lectures">Lectures</a>
<li> <a href="#professional">Professional Activities</a>
<li> <a href="#cornellactivities">Cornell Activities</a>
<li> <a href="#cornellcoursestaught">Cornell Courses Taught</a>
<li> <a href="#cornelllectures">Cornell Lectures</a>
</ul>

<a name="education">
<h3><b>EDUCATION</b></h3>
<ul>
<li>[1975]  Carnegie-Mellon University, Ph.D., Computer Science<br>
<li>[1964]  Massachusetts Institute of Technology, B.S., Mathematics
</ul>


<a name="positions">
<h3><B>POSITIONS</B></h3>
<ul>

<li>[1981-] Associate Professor, Department of Computer Science, Cornell
University<br>

<li>[1982-83] Visiting Researcher, Institut National de Recherche en
Informatique et en Automatique (INRIA), Rocquencourt, France<br>

<li>[1979-81] Senior Lecturer, Department of Computer Science, Cornell
University<br>

<li>[1973-79] Assistant Professor, Department of Computer Science, Cornell
University<br>

<li>[1968-72] Graduate Student, Department of Computer Science,
Carnegie-Mellon University<br>

<li>[1965-68] Senior Research Programmer, Physics Department, Columbia
University<br>

<li>[1964-65]  Programmer, Western Electric Corporation
</ul>


<a name="awards">
<h3><B>AWARDS</B></h3>
<ol>
<li>Dean's Prize for Innovation in Undergraduate Teaching, May 1986.
</ol>

<a name="grants">
<h3><B>GRANTS</B></h3>
<ol>
<li>Software Engineering with a Transformational System, NSF,
1995-98, $270,000 (with D. Gries).

<li>Incremental Computation, ONR, 1995-1998, $270,000.

<li>Incremental Computation, ONR, 1992-1995, $300,000.

<li>The Synthesizer Generator, NSF, 1990-1991, $100,000.

<li>Incremental Computation, ONR, 1988-1990, $400,000.

<li>Generating Efficient Language-based Programming Environments,
NSF, 1988-1989, $8,000.

<li>Research Experience for Undergraduates, NSF, 1987-1988, $8,000.

<li>Generating Efficient Language-based Programming Environments,
NSF/ONR, 1986-1989, $428,182. (Supplement for Undergraduate Research,
1987-1988, $22,000.)

<li>Coordinated experimental research on systems for constructing
and manipulating complex objects, NSF, 1986-1991, $3,606,266 (with
Gries, Constable and Hopcroft).

<li>Language Editors and Their Generators, IBM, 1984-85, $99,957.

<li>Affiliation Program for Education in Language Editors and their
Implementations, IBM, 1984-85, $25,000.

<li>Syntax-directed Programming Environments, NSF, 1982-85, $364,966.

<li>Syntax-directed Programming Environemnts, NSF, 1980-82, $145,033.

</ol>

<a name="phdstudents">
<h3><B>PH.D. STUDENTS</B></h3>
<ol>
<li>Yanhong A. Liu (1995)

<li>John Reppy (1992)

<li>John Field (1991)

<li>Allan Zaring (1990)

<li>Stephen Peckham (1990)

<li>William Pugh (1988), [PYI, Packard Fellow]

<li>Roger Hoover (1987)

<li>Susan Horwitz (1985), [PYI]

<li>Thomas Reps (1982, winner of the ACM Doctoral Dissertation Award.), [PYI, Packard Fellow]
</ol>

<a name="publications">
<h3><B>PUBLICATIONS</B></h3>

<h4><i>Software</i></h4>

<ol>
<li> <i>The Synthesizer Generator</i>,
Release 1.0, December 1985;
Release 2.0, July 1987;
Release 3.0, April 1989; 
Release 3.4, April 1991;
Release 3.5, September 1991 (GrammaTech);
Release 4.0, December 1992 (GrammaTech),(with T. Reps, <i>et al.</i>);
Release 4.1, August 1993 (GrammaTech);
Release 4.2, January 1995 (GrammaTech).

<p>
The Synthesizer Generator is a tool for creating language-based
environments from formal specifications.  To date, it has been
licensed, in source code form, for research purposes, to approximately
330 sites worldwide.  Roughly half of the sites are in the U.S. and
half are overseas; roughly half the sites are academic and half are
government or industrial research laboratories.  The implementation
of Release 4 consists of about 120,000 lines of C source code;
23 demonstration environments distributed with the system are
implemented in about 50,000 lines of Synthesizer Specification
Language (SSL) code.

<p>
<li> <i>The Cornell Program Synthesizer</i>, Version 1, June 1979;
Version 1.02, September 1980; Version 1.03, September 1981 (with T.
Reps).

<p>
The Cornell Program Synthesizer was a programming environment for a
small dialect of PL/I.  During its lifetime, it was licensed to 110
sites worldwide and was used by over 20,000 introductory programming
students.
</ol>

<h4><i>Books</i></h4>
<ol>
<li>  <i>The Synthesizer Generator: A System for Constructing
Language-Based Editors</i>, 315 pages,
Springer-Verlag, NY, 1988 (with T. Reps) 

<p>
<li>   <i>The Synthesizer Generator Reference Manual</i>.  First
Edition, Cornell University, Ithaca, NY, August 1985, 51 pages; Second
Edition, Cornell University, Ithaca, NY, June 1987, 162 pages; Third
Edition, 171 pages, Springer-Verlag, NY, NY, 1988 (with T. Reps);
Fourth Edition, 268 pages, GrammaTech, Ithaca, NY, 1992 (with
GrammaTech staff).
</ol>


<h4><i>Chapters in books</i></h4>
<ol>

<li> <i>Alex --- an Alexical Programming Language</i>.  Visual
Languages and Applications, ed. T. Ichikawa, E. Jungert and
R. Korfhage, Plenum Press, NY, 1990.

<p><li> <i>The Cornell Program Synthesizer: a syntax-directed
programming environment</i>.  Interactive Programming Environments,
ed. D. R. Barsow, E. Sanderwall, and H. Shrobe, McGraw-Hill, NY, 1984,
pages 97-116 (with T. Reps).  (Also appeared in CACM 24(9), September
1981, pages 563-573.)

<p><li> <i>The why and wherefore of the Cornell Program Synthesizer</i>.
Tutorial: Software Development Environments, ed. A.I. Wasserman, IEEE
Computer Society Press, November 1981, pages 64-72 (with T. Reps and
S. Horwitz).  (Also appeared in Proceedings of ACM/SIGPLAN-SIGOA
Symposium on Text Manipulation, Portland, OR, June 8-10, 1981, SIGPLAN
NOTICES 16, 6 June 1981, pages 8-16.

</ol>

<h4><i>Journals</i></h4>

<ol>
<p><li>
<a href="ftp://ftp.cs.cornell.edu/pub/yanhong/Inc-SCP95.ps.Z">
Systematic Derivation of Incremental Programs</a>.  
<i>Science of
Computer Programming 24</i>(1), pages 1-39, 1995.  (with Yanhong A. Liu).

<p><li> Language Processing in Program Editors.
<i>IEEE Computer 20</i>(11), pages 29-40, November 1987 (with T. Reps).

<p><li> An Efficient General Iterative Algorithm for Dataflow Analysis,
<i>Acta Informatica 24</i>(6), pages 679-694, 1987 (with S. Horwitz and
A. J. Demers).

<p><li> Generating editing environments based on relations and attributes.
<i>TOPLAS 9</i>(3), pages 577-608, October 1986 (with S. Horwitz).

<p><li> Incremental context-dependent analysis for language-based editors.
<i>TOPLAS 5</i>(3), pages 449-477, July 1983 (with T. Reps and A. J. Demers).

<p><li> The Cornell Program Synthesizer: a syntax-directed programming
environment.  <i>CACM 24</i>(9), September 1981, 563-573 (with
T. Reps).  (Reprinted in <i>Interactive Programming Environments</i>,
Barsow, D.R., Sanderwall, E., and Shrobe, H., McGraw Hill, 1984.)

</ol>

<h4><i>Refereed Conference Proceedings</i></h4>
<ol>
<p><li><a href="ftp://ftp.cs.cornell.edu/pub/yanhong/Dai-POPL96.ps.Z">
Discovering Auxiliary Information for Incremental Computation</a>,
<i> Proceedings
of 23rd ACM Symposium on Principles of Programming Languages</i>,
St. Petersburg Beach, FL, pages xx-xx, January 21-24, 1996,
(with Yanhong A. Liu and Scott D. Stoller).

<p><li>
<a href="ftp://ftp.cs.cornell.edu/pub/yanhong/Cir-PEPM95.ps.Z">
Caching Intermediate Results for Program Improvement</a>.  <i>
Proceedings of ACM SIGPLAN Symposium on PEPM</i>, La Jolla, CA, pages
190-201, June 1995 (with Yanhong A. Liu).

<p><li> Incremental Reduction in the Lambda Calculus.
Presented at <i> 1990 Lisp and Functional Programming Conference</i>,
Nice, France, pages 307-322, June 1990 (with J. Field).

<p><li> Higher-order Attribute Grammars and Editing Environments.  <i>
Proceedings of ACM SIGPLAN '90 Conference on Programming Language
Design and Implementation</i>, White Plains, NY, pages 197-208, June 1990
(with R. Chapman).

<p><li> Incremental Computation by Function Caching.  <i> Proceedings
of 16th ACM Symposium on Principles of Programming Languages</i>, Austin,
TX, January 11-13, 1989, pages 269-276 (with W. Pugh).

<p><li> Alex - an Alexical Programming Language.
<i> Workshop on Visual Language</i>,
Linkoping, Sweden, August 19-21, 1987 (with D. Kozen, <i> et al</i>.).

<p><li> Efficient Incremental Evaluation of Aggregate Values in
Attribute Grammars, <i> Proceedings of ACM SIGPLAN '86 Symposium on
Compiler Construction</i>, Palo Alto, CA, June 1986, pages 39-50 (with
R. Hoover).

<p><li> Remote attribute updating for language-based editors,
<i> Proceedings of 13th ACM Symposium on Principles of Programming Languages</i>,
St. Petersburg, FL, January 1986, pages 1-13 (with T. Reps and C. Marceau).

<p><li> Relations and attributes: a symbiotic basis for editing
environments.  <i> Proceedings of ACM SIGPLAN '85 Symposium on
Language Issues in Programming Environments.  SIGPLAN NOTICES 20</i>, 7,
June 1985, pages 93-106 (with S. Horwitz).

<p><li> The Synthesizer Generator.
<i> Proceedings of ACM SIGSOFT/SIGPLAN Software Engineering Symposium
on Practical Software Development Environments</i>,
Pittsburgh, PA, April 1984, pages 42-48 (with T. Reps).

<p><li> The why and wherefore of the Cornell Program Synthesizer.  <i>
Proceedings of ACM/SIGPLAN-SIGOA Symposium on Text Manipulation</i>,
Portland, OR, June 8-10, 1981, <i> SIGPLAN NOTICES 16</i>, 6 June 1981,
pages 8-16 (with T. Reps and S. Horwitz).  (Reprinted in <i>
Tutorial: Software Development Environments</i>, Wasserman, A.I., IEEE
Computer Society Press, November 1981, pages 64-72.)

<p><li> Incremental evaluation for attribute grammars with application to 
syntax-directed editors.  <i> Proceedings of 8th ACM Symposium
Principles of Programming Languages</i>, Williamsburg, VA, January 26-28,
1981, pages 105-116 (with A. J. Demers and T. Reps).

<p><li> Encapsulated data types and generic procedures.  <i>
Proceedings of DOD Workshop on a Common Programming Language for
Embedded Systems</i>, Ithaca, NY, 1976, Springer-Verlag, pages 171-214
(with A. J. Demers, <i> et al.</i>).

<p><li> Context-free error correction by evaluation of algebraic power series.  
<i> Proceedings of 5th ACM Symposium Theory of Computing</i>,
Austin, TX, April 30--May 2, 1973, pages 196-199.

<p><li> A study of sigma leptonic decay using an HPD in pattern
recognition mode.  <i> Proceedings International Conference Advanced
Data Processing for Bubble Chambers and Spark Chambers</i>, New York, NY,
October 1968, pages 256-265 (with Newman, <i> et al.</i>).

<p><li> Current status of automatic scanning at Columbia University.  
<i> 1967 International Conference on Programming for Flying Spot Devices</i>, 
Munich, January 1967 (with D. Burd).
</ol>

<h4><i>Tutorials</i></h4>
<ol>
<li> Semantic Analysis.  <i>SIGPLAN '93 Conference on
Programming Language Design and Implementation</i>, Albuquerque, NM,
June, 1993.

<p><li> Generating Language-Sensitive Environment.  <i>SIGPLAN
'92 Conference on Programming Language Design and Implementation</i>, San
Francisco, CA, June 15-19, 1992.


<p><li> Semantic Analysis.  <i>SIGPLAN '88 Conference on
Programming Language Design and Implementation</i>, Atlanta, GA, June
22-24, 1988.

<p><li> Semantic Analysis.  <i>SIGPLAN '86 Symposium on
Complier Construction</i>, Palo Alto, CA, June 25-27, 1986.
</ol>

<h4><i>Other Publications</i></h4>
<ol>
<p><li>On the value of syntax-directed editors.
<i>CACM 25</i>(5), May 1982, pages 351-352 (with T. Reps).
 
<p><li><i>The Cornell Program Synthesizer: a tutorial introduction</i>.
Department of Computer Science, Cornell University, First Edition,
July 1979, Fifth Edition, May 1983, 49 pages.  Approximately 20,000
copies printed.

<p><li>The Cornell Program Synthesizer: announcement.
<i>SIGPLAN NOTICES</i>, October 1979, page 75.
</ol>

<h4><i>Technical Reports</i></h4>
<ol>
<p><li>
<a href="ftp://ftp.cs.cornell.edu/pub/yanhong/Tsd-TR95.ps.Z">
Incremental Computation for Transformational Software
Development</a>.  Tech. Rep. 95-1499, Department of Computer Science,
Cornell Unversity, Ithaca, NY, March 1995 (with Yanhong A. Liu).

<p><li>
<a href="ftp://ftp.cs.cornell.edu/pub/yanhong/Cir-TR95.ps.Z">
Caching Intermediate Results for Program Improvement</a>.
Tech. Rep. 95-1498, Department of Computer Science, Cornell
University, Ithaca, NY, March 1995 (with Yanhong A. Liu).

<p><li>
<a href="ftp://ftp.cs.cornell.edu/pub/yanhong/Inc-TR94.ps.Z">
Systematic Derivation of Incremental Programs</a>.
Tech. Rep. 94-1444, Department of Computer Science, Cornell
University, Ithaca, NY, August 1994 (with Yanhong A. Liu).

<p><li>
<a href="ftp://ftp.cs.cornell.edu/pub/yanhong/Drv-TR93.ps.Z">
Deriving Incremental Programs</a>.  Tech. Rep. 93-1384, Department
of Computer Science, Cornell University, Ithaca, NY, September
(revised October) 1993 (with Yanhong A. Liu).

<p><li><a HREF="/Dienst/UI/2.0/Describe/ncstrl.cornell%2fTR87-835">
Alex --- an Alexical Programming Language</a>.  Tech. Rep. 87-835,
Department of Computer Science, Cornell University, Ithaca, NY, May
1987 (with D. Kozen, <i>et al.</i>).

<p><li><a HREF="/Dienst/UI/2.0/Describe/ncstrl.cornell%2fTR79-370">
The Cornell Program Synthesizer: a microcomputer implementation
of PL/CS</a>.  Tech. Rep. 79-370, Department of Computer Science, Cornell
University, Ithaca, NY, March 1979.

<p><li><A HREF="/Dienst/UI/2.0/Describe/ncstrl.cornell%2fTR76-281">
A formal syntax for PL/CS</a>.  Tech. Rep. 76-281, Department of
Computer Science, Cornell University, Ithaca, NY, January 1976.

<p><li><i>A compiler project</i>.  Department of Computer Science,
Cornell University, Ithaca, NY, January 1976.

<p><li><i>Minimal Distance Analysis of Syntax Errors in Computer
Programs</i>.  Ph D. Thesis, Department of Computer Science,
Carnegie-Mellon University, Pittsburgh, PA, September 1975.
</ol>

<a name="lectures">
<h3>LECTURES</h3>
<ul>
<li> Assuring software quality using an Ada language-sensitive
programming environment.
<ol>
<li>Martin-Marietta Corporation, Syracuse, NY, April 1994.
<li>Loral Aerospace Corporation, Owego, NY, June 1994.
<li>IBM Federal Systems Division, Owego, NY, April 1993.
<li>Software Productivity Laboratory, Herndon, VA, March 1993.
<li>SAIC, Orlando, FL, March 1993.
<li>Martin-Marietta Corp., Orlando, FL, March 1993.
<li>ECC, Orlando, FL, March 1993.
<li>GE Aerospace Corp., Syracuse, NY, July 1992.
<li>IBM Federal Systems Division, Owego, NY, July 1992.
</ol>

<p><li> Higher-order Attribute Grammars and Editing Environments.
<ol>
<li>Rice University, Houston, TX, April 1990.
<li>ACM SIGPLAN '90  Conference on Programming Language and Design and 
Implementation, White Plains, NY, June 1990
</ol>

<p><li>Static semantic analysis.
<ol>
<li>ACM SIGPLAN Conference-93, Albuquerque, NM, June 1993.
</ol>

<p><li>Automatically enforcing quality in ADA software: Implications
for interactive tools.
<ol>
<li>10th Annual Washington ADA Symposium, McLean, VA, June 1993.
</ol>

<p><li>The Synthesizer Generator: A system for constructing
language-based editors.
<ol>
<li>AT\&T Bell Laboratories, Murray Hill, NJ, May 1993.
<li>HP Laboratories, Palo Alto, CA, March 1993.
<li>Lockheed Missiles and Space Co., Palo Alto, CA, March 1993.
<li>HP Corp., Ft. Collins, CO, March 1993.
<li>Software Productivity Consortium, Herndon, VA, March 1993.
<li>Digital Equipment Corporation, Nashua, NH, February 1993.
<li>Ratheon Corporation, Portsmouth, RI, November 1992.
<li>GE Aerospace Corp., Syracuse, NY, July 1992.
<li>RADC, Rome, NY, July 1992.
<li>CASE-92, Montreal, Canada, July 1992.
<li>GTE, Research Triangle Park, NC, May 1992.
<li>Verdix Corporation, Herndon, VA, April 1992.
<li>Loral Space and Range Systems, San Jose, CA, March 1992.
<li>Sun Microsystems Laboratories, Inc., Mountain View, CA, March 1992.
<li>SunPro, Mountain View, CA, March 1992.
<li>Lockheed Missiles and Space Co., Palo Alto, CA, March 1992.
<li>Workshop on Programming Environments, Dagstuhl, Germany, March 1992.
<li>Unisys/Paramax, Arlington, VA, March, 1992.
<li>Software Productivity Consortium, Herndon, VA, February 1992.
<li>Seer Technologies, New York, NY, October 1991.
<li>Tandem Computers, Cupertino, CA, September 1991.
<li>Software Productivity Laboratory, Loral Aerospace Corp., San Jose, CA, September 1991.
<li>IDE, San Fransisco, CA, September 1991.
<li>Telesoft Corp., San Diego, CA, Septmber 1991.
<li>Naval Oceans Systems Center (NOSC), San Diego, CA, September 1991.
<li>NASA, Langley Air Force Base, FL., May 1991.
<li>Ford Aerospace Corp., San Jose, CA., January 1990.
<li>Annual Meeting, Syracuse University CASE Center, Blue Mountain Lake, NY, July 1989.
</ol>

<p><li>Incremental Computation
<ol>
<li>Office of Naval Research, April 1988.
</ol>

<p><li>Generation of Language-Based Programming Environments .
<ol>
<li>Boston SIGPLAN, Intermetrics, Cambridge, MA, November 1988.

<li>General Motors, Warren, MI, March 1988.

<li>Department of Computer Science, Bucknell University, Lewisburg, PA,
November1987.

<li>Department of Mathematics and Computer Science, Dartmouth College, Hanover, NH,
October 1987.

<li>General Electric, Schnectady, NY, July 1987.

<li>Institute for the Retraining in Computer Science. Clarkson University, Potsdam, NY, July 1986.

<li>Office of Naval Research, Washington, DC,
February 1986.

<li>Wang Institute, January, 1985.

<li>Department of Computer Science, University of Maryland,
October, 1984.
</ol>

<p><li>Syntax-directed programming environments.
<ol>

<li>Department of Computer Science, ETH, Lausanne, Switzerland,
July 1984 (2 lectures).

<li>Department of Computer Science, University of Oslo, Oslo, Norway,
February 1983.

<li>Department of Computer Science, University of Linkoping, Linkoping, Sweden,
February 1983.
</ol>

<p><li>Incremental evaluation for attribute grammars with application to
syntax-directed editors.
<ol>
<li>Sino-American Symposium of Computer Software Engineering,
Changsha, Peoples Republic of China, April 1982.

<li>Central Research Laboratory, Nippon Electric Company, Kawasaki-City, Japan,
April 1982.

<li>Department of Computer Science, New York University, New York, NY,
March 1981.

<li>Department of Computer Science, Purdue University, Lafayette, IN,
February 1981.

<li>Eighth Annual ACM Symposium on Principles of Programming Languages (POPL),
Williamsburg, VA, January 1981.

<li>Department of Computer Science, Carnegie-Mellon University, Pittsburgh, 
PA, November l980.
</ol>


<p><li>Design and implementation of the Cornell Program Synthesizer,
a syntax-directed programming environment,
usually with demonstrations on a Terak (LSI-11) microcomputer.

<ol>

<li>Department of Computer Science, Tsinghua University,
Peking, Peoples Republic of China, April 1982.

<li>Sino-American Symposium of Computer Software Engineering,
Changsha, Peoples Republic of China, April 1982.

<li>Central Research Laboratory, Nippon Electric Company, Kawasaki-City, Japan,
April 1982.

<li>Language Issues for Large-Scale Computing,
Department of Energy,
Gleneden Beach, OR, March 1982.

<li>Department of Computer Science, Pennsylvania State University, State College,
PA, December 1981.

<li>Department of Mathematical Sciences, Rensselaer Polytechnic Institute,
Troy, NY, December 1981.

<li>Department of Computer Science, Brown University, Providence, RI,
September 1981.

<li>Department of Computer Science, SUNY Stony Brook, Stony Brook, NY, 
March 1981.

<li>National Bureau of Standards, Gaithersburg, MD, March 1981.

<li>Department of Computer Science, City University of New York, New York, NY,
March 1981.

<li>Department of Computer Science, University of Indiana, Bloomington, IN,
February 1981.

<li>Department of Computer Science, Purdue University, Lafayette, IN,
February 1981.

<li>Department of Computer Science, University of Rochester, Rochester, NY,
January 1981.

<li>Schlumberger-Doll Research, Ridgefield, CT, January 1981.

<li>IBM,  T. J. Watson Research Center, Yorktown Heights, NY,
January 1981.

<li>Department of Mathematics, Dartmouth, Hanover, NH, December 1980.

<li>Department of Computer Science, University of Waterloo, Ontario, Canada,
December 1980.

<li>Bell Telephone Laboratories, Murray Hill, NJ, November 1980.

<li>IBM Endicott Development Laboratory, Endicott, NY, November 1980.

<li>Department of Electrical and Computer Engineering, and the Department of
Computer and Information Sciences (COINS), University of Massachusetts,
Amherst, MA, November 1980.

<li>Department of Computer Science, New York University, New York, NY,
October 1980.

<li>Department of Computer Science, University of Texas, Austin, TX,
October 1980.

<li>Department of Mathematical Sciences, Rice University, Houston, TX,
October 1980.

<li>General Motors Research Laboratories, Warren, MI, May 1980.

<li>Department of Computer and Information Sciences, University of Michigan, Ann Arbor, MI,
May 1980.

<li>Bell Telephone Laboratories, Naperville, IL,
May 1980.

<li>Department of Mathematics, Ithaca College, Ithaca, NY,
April 1980.

<li>Department of Electrical Engineering and Computer Science, University of Connecticut, Storrs, CT,
April 1980.

<li>Department of Mathematics, Wesleyan University, Middletown, CT, 
April 1980.

<li>Bell Telephone Laboratories, Holmdel, NJ,
March 1980.

<li>Department of Computer Science, Queens University, Kingston, Canada, 
February 1980.

<li>Digital Equipment Corporation, Maynard, MA,
July 1979.

<li>Department of Computer Science, University of Guelph, Guelph, Canada,
June 1979.

<li>Department of Mathematics, Hamilton College, Clinton, NY,
April 1979.

<li>IEEE Delaware Bay Chapter, Newark, DE,
April  1979.

<li>Department of Electrical Engineering, University of Delaware, Newark, DE, 
April  1979.

<li>Department of Computer Science, Carnegie-Mellon University, Pittsburgh, PA,
March  1979.

<li>Department of Computer Science, North Carolina State University, Raleigh, NC,
March  1979.

<li>Department of Computer Science, Duke University, Durham, NC, 
March  1979.

<li>IBM Scientific Center, Cambridge, MA,
March 1979.

<li>Zilog Inc., Cupertino, CA,
February 1979.

<li>Department of Electrical Engineering and Computer Science, University of 
Santa Clara, Santa Clara, CA,
February 1979.

<li>Intel Corporation, Santa Clara, CA,
February 1979.

<li>IBM Research Laboratory, San Jose, CA,
February  1979.

<li>Department of Electrical Engineering and Computer Science, Columbia University, New York, NY,
January 1979.

<li>Department of Electrical Engineering and Computer Science, Princeton University, Princeton, NJ,
January 1979.

<li>IBM,  T. J. Watson Research Center, Yorktown Heights, NY,
January 1979.

</ol>


<p><li>Computer science and software engineering education at Cornell.
Changsha Institute of Technology, Changsha, Peoples Republic of China,
April 1982.

<p><li>On encapsulated data types and generic procedures.
Department of Computer Science, SUNY Stony Brook,
Stony Brook, NY, December 1976.

<p><li>On structured assembly languages.
U.S. Army Electronics Command, Fort Monmouth, NJ,
December 1975.

<p><li>On the diagnosis and correction of syntax errors in programs by evaluation
of algebraic power series in non-commuting variables.
<ol>

<li>Fifth Annual ACM Symposium on Theory of Computing (SIGACT),
Austin, TX, May 1973.

<li>Department of Computer Science, Cornell University, Ithaca, NY,
March 1973.

<li>Department of Electrical Engineering, Massachusetts Institute of Technology, Cambridge, MA,
March 1973.

<li>Department of Computer Science, Duke University, Durham, NC,
March 1973.

<li>School of Electrical Engineering, University of Pennsylvania, Philadelphia, PA,
February 1973.

<li>Department of Electrical Engineering, Princeton University, Princeton, NJ,
February 1973.

<li>Department of Computer Science, SUNY Stony Brook, Stony Brook, NY,
December 1973.
</ol>

<p><li>On automatic scanning of bubble chamber photographs, Brookhaven Laboratory, Upton, NY,
October 1967.

</ul>

<a name="professional">
<h3><b>PROFESSIONAL ACTIVITIES</b></h3>

<h4><i>Chairman</i></h4>
<ol>
<li>Doctoral Dissertation Award Committee, ACM, 1992-93.
</ol>

<p><h4><i>Member</i></h4>
<ol>
<li>Doctoral Dissertation Award Committee, ACM, July 1988-94.

<li>Academic Advisory Committee, ADAPSO, October 16-19, 1988, Dallas, TX.

<li>Program Committee, ACM SIGPLAN `88 Compiler Construction Conference, June 
20-24, 1988, Atlanta, GA.

<li>Panel, Software Engineering Program, NSF, April 4, 1988, Washington, DC.

<li>NSF Software Engineering Workshop, February 24-26, 1988, Atlanta, GA.

<li>Program Committee,
Fifteenth Annual ACM SIGACT/SIGPLAN Symposium on Principles of Programming Languages,
January 1987.

<li>Program Committee, ACM SIGPLAN '84 Symposium on Compiler Construction, 
Montreal, Canada, June, 1984.

<li>Program Committee, International Course on Syntax-Directed Editors,
Aussois, France, April 18-22, 1983 (Co-director).

<li>Program Committee, Tenth Annual ACM SIGACT/
SIGPLAN Symposium on Principles of Programming Languages, January 24-26, 
1983 (Co-chairman).

<li>Program Committee, ACM SIGPLAN '82 Symposium on
Compiler Construction, Boston, MA, June 23-25, 1982.

<li> Delegate, Sino-American Symposium on Computer Software
Engineering, Changsha, Peoples Republic of China, April 8-10, 1982.

<li>Program Committee, ACM SIGSOFT/SIGPLAN Software Engineering Symposium on
High-Level Debugging, 1981-82.

<li>Panel, Productivity in Education, IEEE COMPCON,
Washington, DC, September 15, 1981.

<li>Association for Computing Machinery
</ol>

<p><h4><i>Consultant</i></h4>
<ol>
<li> IBM (1985),
AMS/ACM Summer Computer Science Institute Planning Committee (1982),
Terak Corp. (1979),
U.S. Army Electronics Command (1975),
Digital Equipment Corp. (1970).
</ol>

<p><h4><i>Reviewer</i></h4>
<ol>
<li><i>ACM Computing Surveys</i>,
<i>ACM TOPLAS</i>,
<i>IEEE Computer</i>,
<i>IEEE Software</i>,
<i>IEEE Transactions on Software Engineering</i>,
MIT Press.
</ol>

<p><h4><i>Referee</i></h4>
<ol>
<li> NSF, NSERC
</ol>

<a name="cornellactivities">
<p><h3><b>CORNELL ACTIVITIES</b></h3>
<ol>
<li>Member, Computing Policy Committee (1994-  )

<li>Chairman, Departmental Computer Facilities Committee (1990-91)

<li>Member, 2001 Committee (1990-91)

<li>Member, Committee on Instructional Computer Technologies (1990-91)

<li>Member, Search Committee for Associate Dean for Undergraduate Affairs (1986)

<li>Member, CER Management Committee (1986-89); Chairman (1987-88)

<li>Chairman, Department Chairman Search Committee (1986-87)

<li>Member, Senior Faculty Recruiting Committee (1985-1992); Chairman (1985-87)

<li>Member, Engineering College Resource Allocation Advisory Committee (1985-86)

<li>Member, Engineering College Computing Board (1984-88); Chairman (1987-88)

<li>Member, Computer Science Undergraduate Academic Affairs Committee (1984-85)

<li>Member, University Appeals Panel (1984-89)

<li>Director, Undergraduate Programs in Computer Science (1983-85)

<li>Member, Engineering College Computer Advisory Committee (1983-84)

<li>Member, Committee to Study Computers in Engineering Mathematics (1983-84)

<li>Co-director, Computer Science Summer School Program (1981-82)

<li>Member, University Computing Board subcommittee (1981-82)

<li>Member, Faculty Appeals Board (1981-82)

<li>Director, Computer Science Summer School Program (1979-80)

<li>Member, Engineering College Core Curriculum Committee (1977-82) 

<li>Undergraduate program advisor (1977-1995)
</ol>

<a name="cornellcoursestaught">
<p><h3><b>CORNELL COURSES TAUGHT</b></h3>

<ul>
<p><h4>CS100---Introduction to Computer Programming</h4>
<ol>
Fall 1994, 270 students<br>
Fall 1993, 317 students<br>
Fall 1992 and Spring 1993, 478 students<br>
Fall 1985, 645 students<br>
Fall 1984, 758 students<br>
Fall 1983, 749 students<br>
Fall 1981, 725 students<br>
Fall 1980 and Spring 1981, 1176 students<br>
Fall 1979 and Spring 1980, 1020 students<br>
Fall 1978 and Spring 1979, 952 students<br>
Fall 1977, 475 students<br>
Fall 1976, 544 students<br>
Fall 1975, 460 students
</ol>

<p><h4>CS100S---Introduction to Computer Programming (Honors)</h4>
<ol>
Fall 1987, 45 students<br>
Spring 1987, 10 students
</ol>

<p><h4>CS211---Computers and Programming</h4>
<ol>
Fall 1990, 85 students
</ol>

<p><h4>CS212---Modes of Algorithmic Expression</h4>
<ol>
Fall 1988, 42 students
</ol>

<p><h4>CS314---Introduction to Computer Systems and Organization</h4>
<ol>
Fall 1974, 35 students<br>
Fall 1973, 48 students
</ol>

<p><h4>CS411---Introduction to Programming Languages</h4>
<ol>
Spring 1988, 23 students
</ol>

<p><h4>CS412---Translator Writing</h4>
<ol>
Spring 1994, 37 students<br>
Spring 1993, 24 students<br>
Spring 1974, 42 students<br>
Spring 1973, 25 students
</ol>

<p><h4>CS612---Advanced Programming Languages and Translator Writing</h4>
<ol>
Spring 1995, 10 students<br>
Spring 1986, 28 students<br>
Spring 1984, 32 students<br>
Spring 1982, 24 students<br>
Spring 1977, 33 students<br>
Spring 1976, 29 students<br>
Spring 1975, 36 students
</ol>

<p><h4>CS712---Topics in Programming Languages and Systems</h4>
<ol>
Spring 1989, 10 students<br>
Fall 1986, 7 students<br>
Spring 1985, 11 students
</ol>
</ul>

<a name="cornelllectures">
<p><h3><b>CORNELL LECTURES</b></h3>
<ol>
<li><i>Computer programming as engineering design.</i>
Cornell College of Engineering Alumni Council, May 1984.

<li>_____. Engineering Career Orientation Forum, 
February 1984.

<li><i>The Cornell Program Synthesizer.</i>
Conversations at Cornell, May 1982.

<li>_____. Computing in Agriculture, ATC/CALS
Faculty Series, January 6, 1981.

<li><i>The computer: idiot savant or wunderkind?</i>
Freshman Orientation Program, August 28, 1980.

<li><i>From slide rule to microcomputer: how freshmen learn to compute.</i>
Cornell Trustee's Weekend, October 12, 1979.

<li><i>Design and implementation of the Cornell Program Synthesizer,
a syntax-directed programming environment, with demonstration.</i>
OCS Seminar, March 28, 1979.

<li>_____. Department of Computer Science,
December 7, 1978.

<li><i>Computer programming as engineering communication.</i>
Parents' Weekend, October 22, 1977.

</ol>


</HTML>
